const Koa = require('koa');
const app = new Koa();
const KoaRouter = require('koa-router');
// 创建一个路由实例，路由：就是 ctx.path => function 的映射关系
const router = new KoaRouter();
// 引入 fs 读取 html 页面
const fs = require('fs');
const { promisify } = require('util');
const readFileAsync = promisify(fs.readFile);

// 引入 bodyParser 为了读取 POST 请求体 ctx.request.body
const bodyparser = require('koa-bodyparser');
app.use(bodyparser());

// 返回登录页面
router.get('/login', async (ctx) => {
    // 读取登录页面
    // console.log(ctx.path);
    // process.cwd()
    const htmlStr = await readFileAsync('./index.html', 'utf-8');
    // ctx.type = 'html';
    // ctx.type = 'text';
    // ctx.set('Content-Type', 'text/plain; charset=utf-8');
    // 设置响应体
    ctx.body = htmlStr;
});

// 处理登录表单
router.post('/login', async (ctx) => {
    console.log(ctx.header);
    // console.log(ctx.request.body);
    // 如果不设置响应体，Koa 默认响应一个 404
    ctx.body = {
        code: 200,
        message: '登录成功',
    };
});

// 使用路由中间件
app.use(router.routes());

let port = 4000;
app.listen(port, () => {
    console.log(`Koa server listening at http://localhost:${port}`);
});
